1. Field of the Invention
The present invention relates in general to data processing systems and, in particular, to a data processing system and method including a hard disk drive partitioned to store a native operating system within an existing partition. Still more particularly, the present invention relates to a data processing system and method including a hard disk drive partitioned to store a native operating system within an existing partition for creating a virtual partition within the existing partition, where a second operating system may be stored in the virtual partition.
2. Description of the Related Art
Personal computer systems are well known in the art. They have attained widespread use for providing computer power to many segments of today""s modern society. Personal computers (PCs) may be defined as a desktop, floor standing, or portable microcomputer that includes a system unit having a central processing unit (CPU) and associated volatile and non-volatile memory, including random access memory (RAM) and basic input/output system read only memory (BIOS ROM), a system monitor, a keyboard, one or more flexible diskette drives, a CD-ROM drive, a fixed disk storage drive (also known as a xe2x80x9chard drivexe2x80x9d), a pointing device such as a mouse, and an optional network interface adapter. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. Examples of such personal computer systems are IBM""s PC 300 series, Aptiva series, and Intellistation series.
In personal computer systems there are numerous low-level devices which contain firmware which may require updating after they have already been installed in a customer""s enterprise. Examples of such firmware include the FLASH BIOS, SCSI devices, IDE devices, RAID adapters, and system management adapters.
Currently, in order to update this firmware, a floppy disk is inserted into the system. The floppy disk is typically a DOS based boot disk including the update to the firmware. This is a rather laborious task because many of the systems including firmware which need to be updated may be miles apart.
If the computer systems are coupled together in a network, a server computer system could manage the updates remotely with appropriate scheduling. However, this remote maintenance solution is difficult to accomplish. Each computer system coupled to a network could be executing different operating systems. Each computer system should be permitted to keep running its native operating system with minimal interruption to its availability to users during the updating of the computer""s firmware.
In order to be able to update a client computer system remotely from a server, an update for each hardware type must be designed and coded. This requires a significant amount of designing, coding, and testing for each update for each possible operating system. For example, if six different hardware types need to be updated on client computer system running six different operating systems, thirty-six updates must be designed, coded, and tested.
A personal computer system includes a hard disk drive. FIG. 1 depicts a disk drive 12 and a disk 10 in accordance with the prior art. Disk 10 illustrates physical characteristics of both floppy and hard disks. Disk 10 includes a number of concentric data cylinders such as cylinder 14. Cylinder 14 includes several data sectors, such as sectors 16 and 18. Sectors 16 and 18 are located on an upper side 20 of disk 10. Additional sectors may be located on a lower side 22 of disk 10. Sides 20 and 22 of disk 10 define a platter 24. A hard disk may contain several platters. Upper side 20 of disk 10 is accessed by a head 26 mounted on an arm 28 secured to drive 12. A given sector on disk 10 may be identified by specifying a head, a cylinder, and a sector within the cylinder.
In a personal computer system, the hard disk drive may be divided into separate partitions. A different partition is required for each operating system stored on the drive. A different file system may be defined by each partition. Often, however, the drive includes only one partition. Therefore, with only one partition, only one operating system may exist on the drive.
A master boot record (MBR) is included on the first sector of the hard drive within which is stored a partition table. The partition table describes the number of partitions for the disk as well as information about the size and location of each partition. The master boot record also includes a program that reads the active partition which contains the operating system to be booted into RAM. Although a hard disk may include many partitions, only one partition may be designated as the active partition.
When a computer system is booted, the operating system stored within the partition which is designated as the active partition is the operating system which is booted. Only one partition at a time may be designated as the active partition. Therefore, the master boot record will include an indication of each existing partition. The master boot record will also indicate which partition has been designated as the active partition.
Therefore a need exists for a data processing system and method including a hard disk drive partitioned to store a native operating system within an existing partition for creating a virtual partition within the existing partition, where a second operating system may be stored in the virtual partition.
A data processing system and method are described for creating a virtual partition within an existing partition within a hard disk drive included within the system. A first master boot record is written which includes a partition. The partition defines a first file system to be utilized by the hard drive. A file is created within the partition. The first master boot record is temporarily overwritten with a second master boot record without altering the first file system. The second master boot record includes a designation of the file as a second partition. The second partition defines a second file system. The second partition is designated as the active partition. The data processing system is booted utilizing the second master boot record. The second partition is a virtual partition within the existing partition.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.